SVM patch to add BP exception intercept support.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 13 Apr 2006 10:08:20 +0000 (11:08 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Thu, 13 Apr 2006 10:08:20 +0000 (11:08 +0100)
Signed-off-by: Tom Woller <thomas.woller@amd.com>
xen/arch/x86/hvm/svm/svm.c

index 996281664be97213a4060ffefb70ced8263116d6..8c0f1b00b40a2bdf135439a8bcd4949a3ea19858 100644 (file)
@@ -2588,13 +2588,18 @@ asmlinkage void svm_vmexit_handler(struct cpu_user_regs regs)
          */
         break;
 
-#ifdef XEN_DEBUGGER
     case VMEXIT_EXCEPTION_BP:
+#ifdef XEN_DEBUGGER
         svm_debug_save_cpu_user_regs(&regs);
         pdb_handle_exception(3, &regs, 1);
         svm_debug_restore_cpu_user_regs(&regs);
-        break;
+#else
+        if ( test_bit(_DOMF_debugging, &v->domain->domain_flags) )
+            domain_pause_for_debugger();
+        else 
+            svm_inject_exception(vmcb, TRAP_int3, 0, 0);
 #endif
+        break;
 
     case VMEXIT_EXCEPTION_NM:
         svm_do_no_device_fault(vmcb);